package com.example.auth.service;

import com.alibaba.fastjson.JSONObject;
import com.example.auth.model.DeptModel;
import com.example.db.model.IPage;
import com.example.model.TreeModel;

import java.util.List;


/**
 * @Classname DeptModelService
 * @Description TODO
 * @Date 2022/7/31 0:10
 * @Created by XiongXiong
 * @Author: X.I.O
 */
public interface DeptModelService {

    /**
     * 分页
     * @param pageNum 页码
     * @param pageSize 条数
     * @param object 搜索
     * @return
     */
    public IPage<DeptModel> pageDeptModelIPage(Integer pageNum, Integer pageSize, JSONObject object);

    /**
     * 获取单个通过id
     * @param id
     * @return
     */
    public DeptModel getDeptModelById(Object id);

    /**
     * 更新
     * @param model
     */
    public void updateDeptModelById(DeptModel model);

    /**
     * 保存
     * @param model
     */
    public DeptModel saveDeptModel(DeptModel model);

    /**
     * 获取所有部门
     * @return
     */
    public List<DeptModel> getDeptModelList();

    /**
     * 获取部门树形列表
     * @return
     */
    public List<TreeModel> getDeptModelTreeList();

    /**
     * 查询部门下所有子部门
     * @return
     */
    public List<DeptModel> getDeptModelChildListById(Object id);
}
